home *** CD-ROM | disk | FTP | other *** search
/ Mac Power 1997 November / MACPOWER-1997-11.ISO.7z / MACPOWER-1997-11.ISO / Shareware Paradise / Cave Dig Folder.sit / Cave Dig Folder / Cave Dig.rsrc / TEXT_135_About Cave Dig.txt < prev    next >
Text File  |  1997-08-27  |  4KB  |  152 lines

  1. About
  2. Cave Dig 1.2
  3. ツゥ Matthew Beedle 1997
  4.  
  5. This game is by me, Mr. Matthew David Beedle.  I am 17 and will be a Senior in High School. 
  6.   窶「 MattBeedle@kagi.com
  7.   窶「 http://www.ruralnet.net.au/~rmurphy/FoxChang.html
  8.  
  9. Marketing & Advice by Laurie Murphy.
  10.   窶「 rmurphy@ruralnet.net.au
  11.   窶「 http://www.ruralnet.net.au/~rmurphy/FoxChang.html
  12.  
  13. Game Testers
  14.   窶「 Jesse Kopelman - kope@borg.com
  15.  
  16. Pictures of Foxes
  17.   窶「 The pictures in the game came from a web page by Ryen Hinisco.  I had to modify the pictures so that the would fit in my game properly.  All of the pictures are around page size and far better quality.  Check out his site!
  18.   窶「 handiscor@pilot.msu.edu
  19.   窶「 http://www.geocities.com/RainForest/4707/
  20.  
  21.   This game is proudly programmed in Future BASIC II by STAZ Software.  If you want to make games for the Macintosh, you should really look into Future BASIC II.  This programming language is great.
  22.   窶「 www.stazsoftware.com
  23.   窶「 800-348-2623
  24.  
  25. Version 1.0
  26.  - Test release.
  27.  -  Have to add caves 83 - 99
  28.  
  29. Version 1.1
  30. Another test release.
  31.  - Put back the option of using the arrow keys.
  32.  - Make some changes in the text
  33.  - Fix a 'bug' in caves 100-109
  34.  
  35. Verson 1.2
  36.  - Changed the name of the game to Cave Dig instead of Cavern Dig
  37.  - Added the rest of the caves
  38.  - Put the instructions for this game into a seperate application
  39.  
  40.   The following programming codes are in Future BASIC.  When run it makes some squares that bounce around.  It shows the basics of handling objects in a game.  If you have Future BASIC and want to make games, drop me an eMail!
  41.  
  42. _objs = 50
  43. _bouncer = 1
  44. _block = 2
  45. DIM RECORD object
  46.  DIM yes
  47.  DIM type
  48.  DIM lr,ud
  49.  DIM oldLr,oldUd
  50.  DIM lrDir,udDir
  51. DIM END RECORD .object
  52. DIM c.object (_objs)
  53. END GLOBALS
  54.  
  55. WINDOW 1,,,_docNoGrow
  56.  
  57. LOCAL FN MakeObject (ttype,tlr,tud)
  58.  FOR id = 1 TO _objs
  59.   LONG IF c.yes (id) = _false
  60.    c.yes (id) = _true
  61.    c.type (id) = ttype
  62.    c.lr (id) = tlr * 32
  63.    c.ud (id) = tud * 32
  64.    c.lrDir (id) = 1
  65.    c.udDir (id) = 1
  66.    id = _objs
  67.    EXIT FN
  68.   END IF
  69.  NEXT
  70. END FN
  71.  
  72. LOCAL FN RefreshObjects
  73.  COLOR _zBlack
  74.  BOX FILL 0,0 TO 512,288
  75.  FOR id = 1 TO _objs
  76.   LONG IF c.yes (id) = _true
  77.    IF c.type (id) = _block THEN COLOR _zGreen ELSE COLOR _zRed
  78.    BOX c.lr (id) ,c.ud (id) TO c.lr (id) + 32 , c.ud (id) + 32
  79.   END IF
  80.  NEXT
  81. END FN
  82.  
  83. LOCAL FN RectCheck (tlr,tud,tlr2,tud2)
  84.  backOut = _false
  85.  LONG IF tlr - tlr2 > -32
  86.   LONG IF tlr - tlr2 < 32
  87.    LONG IF tud - tud2 > -32
  88.     LONG IF tud - tud2 < 32
  89.      backOut = _true
  90.     END IF
  91.    END IF
  92.   END IF
  93.  END IF
  94. END FN = backOut
  95.  
  96. LOCAL FN CheckBounds (id)
  97.  backOut = _false
  98.  IF c.lr (id) < 0 THEN backOut = _true
  99.  IF c.lr (id) + 32 >512 THEN backOut = _true
  100.  IF c.ud (id) < 0 THEN backOut = _true
  101.  IF c.ud (id) + 32 >256 THEN backOut = _true
  102.  LONG IF backOut = _false
  103.   FOR tempId = 1 TO _objs
  104.    LONG IF c.yes (tempId) = _true AND tempId <> id
  105.     backOut = FN RectCheck (c.lr (id),c.ud (id),c.lr (tempId),c.ud (tempId))
  106.     IF backOut = _true THEN tempId = _objs
  107.    END IF
  108.   NEXT
  109.  END IF
  110. END FN = backOut
  111.  
  112. LOCAL FN HandleObjects
  113.  FOR id = 1 TO _objs
  114.   LONG IF c.yes (id) = _true
  115.    c.oldLr (id) = c.lr (id)
  116.    c.oldUd (id) = c.ud (id)
  117.    SELECT c.type (id)
  118.     CASE _bouncer
  119.      backOut = _false
  120.      IF c.lrDir (id) = 1 THEN DEC(c.lr (id)) : backOut = FN CheckBounds (id)
  121.      IF c.lrDir (id) = 2 THEN INC(c.lr (id)) : backOut = FN CheckBounds (id)
  122.      IF backOut = _true THEN c.lr (id) = c.oldLr (id) : IF c.lrDir (id) = 1 THEN c.lrDir (id) = 2 ELSE c.lrDir (id) = 1
  123.      backOut = _false
  124.      IF c.udDir (id) = 1 THEN DEC(c.ud (id)) : backOut = FN CheckBounds (id)
  125.      IF c.udDir (id) = 2 THEN INC(c.ud (id)) : backOut = FN CheckBounds (id)
  126.      IF backOut = _true THEN c.ud (id) = c.oldUd (id) : IF c.udDir (id) = 1 THEN c.udDir (id) = 2 ELSE c.udDir (id) = 1
  127.    END SELECT
  128.    LONG IF (c.lr (id) <> c.oldLr (id)) OR (c.ud (id) <> c.oldUd (id))
  129.     COLOR _zBlack
  130.     BOX c.oldLr (id) ,c.oldUd (id) TO c.oldLr (id) + 32 , c.oldUd (id) + 32
  131.     COLOR _zRed
  132.     BOX c.lr (id) ,c.ud (id) TO c.lr (id) + 32 , c.ud (id) + 32
  133.    END IF
  134.   END IF
  135.  NEXT
  136. END FN
  137.  
  138. FN MakeObject (_bouncer,2,2)
  139. FN MakeObject (_bouncer,2,5)
  140. FN MakeObject (_bouncer,5,4)
  141. FOR x = 2 TO 13
  142.  FN MakeObject (_block,x,3)
  143. NEXT
  144. FN MakeObject (_block,2,6)
  145. FN MakeObject (_block,13,6)
  146.  
  147. FN RefreshObjects
  148.  
  149. DO
  150.  FN HandleObjects
  151.  DELAY 10
  152. UNTIL FN BUTTON